package com.thinking.live.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 本地生活缴费功能订单列表
 * @TableName hm_live_charge
 */
@TableName(value ="hm_live_charge")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LiveChargeDO implements Serializable {
    /**
     * 充值业务标识符
     */
    @TableId(value = "live_id")
    private Long liveId;

    /**
     * 产品类型
     */
    @TableField(value = "live_type")
    private String liveType;

    /**
     * 业务标识码
     */
    @TableField(value = "live_product")
    private String liveProduct;

    /**
     * 成本价格
     */
    @JsonIgnore
    @TableField(value = "live_money")
    private Integer liveMoney;

    /**
     * 支付价格
     */
    @TableField(value = "live_price")
    private Integer livePrice;

    /**
     * 支付金币数
     */
    @TableField(value = "live_gold")
    private Integer liveGold;

    /**
     * 充值账号
     */
    @TableField(value = "live_account")
    private String liveAccount;

    /**
     * 订单时间戳
     */
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
     * 支付完成时间戳
     */
    @TableField(value = "pay_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date payTime;

    /**
     * 支付状态  0 待支付  1 成功  2 失败   3退款成功  4退款失败
     */
    @TableField(value = "pay_status")
    private Integer payStatus;

    /**
     * 用户ID
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 0 充值中 1 充值成功  2 充值失败   9 人工处理  10 充值失败-人工充值  11 线下充值
     */
    @TableField(value = "live_rate")
    private Integer liveRate;

    /***
     * 业务订单号
     */
    @TableField(value = "order_no")
    private String orderNo;

    /**
     * 支付订单号
     */
    @TableField(value = "pay_order_no")
    private String payOrderNo;

    @TableField(value = "live_desc")
    private String liveDesc;

    @TableField(value = "live_over")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date liveOver;

    /**
     * 0 待打款  1 成功打款 3 人工打款  4 原来返回用户
     */
    private  Integer moneyStatus;
    /**
     * 电费标明所在省份 电费省份/直辖市，如：四川、北京、上海，仅电费带此参数
     */
    @TableField(value = "area")
    String area;
    /***
     * 表面所在城市 地级市名，仅部分南网电费带此参数，是否带此参数需咨询渠道方
     */
    @TableField(value = "city")

    String  city;
    /**
     * 电费验证三要素，1-身份证后6位，2-银行卡后六位,3-营业执照后六位，仅南网电费带此参数
     */

    @TableField(value = "y_type")

    String  ytype;
    @TableField(value = "id_card_no")
    /**
     * 身份证后6位/银行卡后6位/营业执照后6位，仅南网电费带此参数
     */
    String idCardNo;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    String type;
}
